home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dr. Windows 3
/
dr win3.zip
/
dr win3
/
WINPROGS
/
HYPTRK40.ZIP
/
INTRO.TXT
< prev
next >
Wrap
Text File
|
1993-12-01
|
11KB
|
195 lines
HyperTrack 4: ushering a new generation for WinHelp
Introduction
------------
There has been a lot of interest in generating windows help files
lately, with many excellent products coming out in the market. However,
as powerful as they can be in assisting the creation of help files,
I feel they are still unable to overcome the weaknesses of the Microsoft
Windows Help engine itself. For example, the current WinHelp system
has no facility to perform a search on all words of a document, being limited
to only keywords that are specified during the compilation process. Another
request from help users is the desire to print multiple topics at one
time. Furthermore, there is also no direct indication from the help engine
which topic is currently being displayed, ie. where does it fit in with the
entire document as a whole. This is due to the `hypertext' nature
of the help system, where the viewer is left without the conventional indexing
aid of page numbers.
What is HyperTrack?
------------------
Hence instead of just coming up with more powerful ways to create help files,
I have developed an application that will `attach' itself to the WinHelp
engine, in order to provide it with the features it lack. This
application (named `HyperTrack', since it is like a tracker for WinHelp)
gets loaded up together with the help file and displays something like
a dynamic table of contents of all the help topics. It is dynamic because
it can be interactively collapsed or expanded to show only up to certain
heading levels, much like the outline view in most popular word processors.
The topics shown are indented and color coded to provide easy recognition
of which level they belong to, and these can be customised according to
user preferences.
When a help topic is displayed, the topic line on HyperTrack
will be highlighted so as to provide an immediate visual indication of
where that topic is in relation to the entire document. Of course, a user
can then also jump to any other topic within the document by simply double
clicking the intended destination and it will then come up on the help
window. A left click of the mouse will show it on the main help window,
while a right click will display it on the secondary help window. Hence
what you can have are 2 help screens shown at the same time, useful for
those topics that you keep having to refer back to constantly (remember
how troublesome it was having to switch between 2 topics previously
using the `Back' function of WinHelp?). Now with HyperTrack, it's like
having the table of contents for your book always handy and never having
to put your thumb on it in order to return to a reference point. Various
short-cut keys are included to make life easy for those who like to keep
their fingers on the keyboard, eg. pressing Enter will display the selected
help topic, Ctrl-Enter shows in on the Secondary window, the Space Bar will
toggle between setting the input focus on WinHelp or HyperTrack, and so
forth. Help is easily avaiable by pressing the H or F1 key.
As for keyword searches, the traditional help keywords (accessed via the
Search button on WinHelp) is still there but there's the added ability
to perform a search on every word in the document through HyperTrack.
There's even some simple boolean capability when performing that search
as well as the option to perform string-based searches on topic titles.
Topics that match the search criteria will be shown on a Search-Results
window, which can then be used to display the help topics by double clicking
on them. These topics can also be sorted in various ways. Another good
thing is that all the keywords are kept in an ascii file (with the .key ext)
so you can view and edit it if you want (eg. to remove certains words that
you feel are redundant, etc.)
What is HyperDoc?
-----------------
But will HyperTrack work on all help files? Unfortunately not, though it is
not impossible for that to happen in the future. This is because in order
for HyperTrack to know which topic is displayed by WinHelp, it needs a macro
line inserted at every topic. It also needs to know what are the titles for
each of those topics, in order to display its table of contents. That is
why a help development system using the popular Word for Windows (Winword)
word processor was created. It is called `HyperDoc' and consists of various
macros kept together in a document template. Its principle of operation is
extremely similar to most help development systems based on Winword macros,
ie. use heading styles to represent a hierachical structure, so that the
help file viewer can then successively progress through the document.
Of course to make it more robust, HyperDoc will check for inconsistent heading
styles (eg. jumping from level 1 to level 3) as well as facilitate the
use of non-standard heading style names (eg. Chapter, Section, etc. instead
of Heading 1, Heading 2, etc..)
There are convenient toolbar buttons added on the Winword screen so it'll
be easy to access these macros, with on-line help also easily available by
selecting the ? button or pressing Ctrl-Shift-Y or selecting HyperDoc Help
from the Help menu. So if you've got your help text already present in a
Winword document, all you need to do to create a basic help file compatible
with HyperTrack is simply attach it to the Hyperdoc.dot template, run the
Process-Topic-Outlines and Scan-Keywords macro, and then call the help
compiler (using the Run-Help-Compiler macro). There's no need to hassle
around with context strings, browse sequences, keywords, etc. Even the
help project file (.HPJ) is created automatically together with a MAP section
so the help file can be called by applications using it for context-sensitive
situations.
Of course for those who want to include cross references within the help
file(ie. hypertext jumps to other topics), there's a Cross-Reference
macro that will automatically search for the nearest matching topic
containing the highlighted phrase. It uses the HyperTrack application
to allow easy selection of linkages by listing all the available topics you
can jump to within that document, and automatically inserts the correct
context strings for those topics. For those who want to insert cross
references manually, there's also a macro (Master-Topic-Listing) that will
list out all the topics in the help document together with context strings,
browse sequences and keywords (though these keywords may be somewhat redundant
if you intend to use HyperTrack with it). There are also some macros from
the Windows Help Authoring Template (WHAT) included so you can insert your own
help topics and edit them (eg. for your own popup windows, etc.)
Bullets, Graphics and Multimedia
--------------------------------
For those who are worried about bullets, they are automatically converted
from symbol fields in Winword to actual characters so they should appear in
the help file. As for displaying graphics, I've created an extended interface
for WinGIF (another shareware product) so instead of inserting the graphic
file into the help file (which may be difficult if it has lots of colors and
is big), it can call up the WinGIF graphics viewer at runtime to display the
graphic instead. The extended interface consists of a small toolbar that will
automatically zoom a selected rectangular area (by dragging the mouse across
the area you want to zoom into) making it easier to view detailed pictures.
In the future, I may design an extended interface for Sound Recorder so
that it will automatically play selected .wav files....
Other goodies
-------------
There are also various other macros included with Hyperdoc.dot
to make life a lot easier when using Winword, eg. a Change Directory macro
that also remembers the last directory and file-extension you opened, a
Dynamic Zoom macro that has a scroll bar to control the display zoom
percentage, as well as a dynamic Jump Page macro. The good thing is these
macros (as well as most of the other ones) are not copy protected so
y